package io.github.wslxm.springbootplus2.core.base.desensitization.handler;


import cn.hutool.core.util.DesensitizedUtil;
import io.github.wslxm.springbootplus2.core.base.desensitization.DesensitizationHandler;

/**
 * 【银行卡号脱敏】由于银行卡号长度不定，所以只展示前4位，后面的位数根据卡号决定展示1-4位 例如：
 * 1. "1234 2222 3333 4444 6789 9"    ->   "1234 **** **** **** **** 9"
 * 2. "1234 2222 3333 4444 6789 91"   ->   "1234 **** **** **** **** 91"
 * 3. "1234 2222 3333 4444 678"       ->    "1234 **** **** **** 678"
 * 4. "1234 2222 3333 4444 6789"      ->    "1234 **** **** **** 6789"
 *
 * @author wangsong
 * @date 2023/09/05
 */
public class BankCardDesensitizationHandler implements DesensitizationHandler {

    @Override
    public String handler(String str) {
        return DesensitizedUtil.bankCard(str);
    }
}
